#include "widget.h"
#include "ui_widget.h"
#include <QRegExpValidator>
#include <QDebug>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    ui->lineEdit->setPlaceholderText("请输入一个11位的手机号码：");

    // 设置一个验证器，使用正则表达式进行验证
    // 首先创建一个正则表达式的验证方法
    QRegExp regExp("^1\\d{10}$");  // 以 1 开头，后面跟10个数字
    // 设置进去验证器
    ui->lineEdit->setValidator(new QRegExpValidator(regExp));
}

Widget::~Widget()
{
    delete ui;
}


void Widget::on_lineEdit_textEdited(const QString &text)
{
    // 当每一次修改了输入框中的内容时，都需要验证一次，所以使用这个信号关联这个槽函数
    QString content = text;  // 要验证的文本：validate的第一个参数
    int pos;  // 如果出错了，出错的位置在哪里：validate的第二个参数
    if(ui->lineEdit->validator()->validate(content, pos) == QValidator::State::Acceptable)
        ui->pushButton->setEnabled(true);  // 如果成功了，显示可以提交
    // 否则就继续灰着
    else ui->pushButton->setEnabled(false);
}

void Widget::on_pushButton_clicked()
{
    qDebug() << "手机号码是：" << ui->lineEdit->text();
}
